package cn.tanghom.baiding.core.service;



import cn.tanghom.baiding.core.page.Page;

import java.util.List;


public interface BaseService<T> {

    /**
     * 新增
     * @param t
     * @return
     */
    int insert(T t);

    /**
     * 更新
     * @param t
     * @return
     */
    int update(T t);

    /**
     * 根据主键查询
     * @param id
     * @return
     */
    T selectByPrimaryKey(Long id);

    /**
     * 删除多个对象
     * @param Ts
     * @return
     */
    int deleteByT(T[] ts);

    /**
     * 根据多个ID删除对象
     * @param ids
     * @return
     */
    int deleteByPrimaryKeys(Long[] ids);

    /**
     * 根据ID删除对象
     * @param id
     * @return
     */
    int deleteByPrimaryKey(Long id);
    /**
     * 查询对象集合
     * @param t
     * @return
     */
    List<T> selectTByT(T t);

    /**
     * 根据T查询一个
     * @param t
     * @return
     */
    T selectTByTOne(T t);

    /**
     * 分页
     * @param page
     * @param t
     * @return
     */
    Page<T> selectTByPage(Page<T> page, T t);

}
